<!DOCTYPE html>
<html data-th-replace="~{layout :: layout(~{::head/content()}, 'index', ~{::div#main})}">
<head>
    <title>Spring | Home</title>
    <meta property="og:site_name" content="Spring">
    <meta property="og:type" content="website">
    <meta property="og:title" content="Spring makes Java simple.">
    <meta property="og:description" content="Level up your Java code and explore what Spring can do for you.">
    <meta property="og:url" data-th-content="${#httpServletRequest.getRequestURL()}">
    <meta property="og:image" content="/images/OG-Spring.png">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="600">

    <meta name="twitter:title" content="Spring">
    <meta name="twitter:description" content="Level up your Java code and explore what Spring can do for you.">
    <meta name="twitter:url" data-th-content="${#httpServletRequest.getRequestURL()}">
    <meta name="twitter:site" content="@springcentral">
    <meta name="twitter:creator" content="@springcentral">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:image" content="https://spring.io/images/OG-Spring.png">
</head>
<body>
<div id="main">
    <div id='hero' role='banner'>
        <div class='container'>
            <div class='left-geo'>
                <div class='relative'>
                    <div class='quarter-circle1'></div>
                    <div class='quarter-circle2'></div>
                    <div class='semicircle'></div>
                </div>
            </div>
            <div class='right-geo'>
                <div class='relative'>
                    <div class='quarter-circle1'></div>
                    <div class='quarter-circle2'></div>
                    <div class='square'></div>
                </div>
            </div>
            <div class='center relative'>
                <div class='h1 antialiased mx-auto'>
                    <h1 class='h1 antialiased mx-auto'>
                        <div>Spring makes Java</div>
                        <div id='wordWrapper'>
                            <div>simple.</div>
                            <div>modern.</div>
                            <div>productive.</div>
                            <div>reactive.</div>
                            <div>cloud-ready.</div>
                        </div>
                    </h1>
                </div>
                <a href='/why-spring' class='button uppercase transparent animate'>Why Spring</a>
                <a href='/quickstart' class='button uppercase transparent animate'>Quickstart</a>
            </div>
        </div>
    </div>
    <div class='content'role='main'>
        <div class='container'>
            <div id='news' class='flex jc-between mx-auto'>
                <div class='new-tag uppercase inline-block grow-0'>News</div>
                <div id='subnews' class='flex jc-between'>
                    <a href="https://spring.io/blog/2021/03/11/announcing-spring-native-beta" class='news-item blue link-animate grow-0'>Announcing Spring Native Beta!</a>
                    <div class='vdivider'></div>
                    <a href='https://springone.io' class='news-item blue link-animate grow-0'>SpringOne returns Sep 1-2, 2021</a>
                </div>
            </div>
        </div>
        <hr class='light mt-0'>
        <br>
        <section class='mb-5' role="contentinfo" aria-label="What Spring can do">
            <div class='container'>
                <h2 class='h2 antialiased'>
                    What Spring can do
                </h2>
            </div>
            <div class='container cards grid flex jc-between flex-wrap'>
                <a href='/microservices' class='card block quarter border-box center border mb-2 rad-5 shadow-hover'>
                    <div class="mw-100" data-th-insert="~{svg/_icons :: icon-microservices}"></div>
                    <h3 class='h3 antialiased'>Microservices</h3>
                    <p>Quickly deliver production&#8209;grade features with independently evolvable microservices.</p>
                </a>
                <a href='/reactive' class='card block quarter border-box center border mb-2 rad-5 shadow-hover'>
                    <div class="mw-100" data-th-insert="~{svg/_icons :: icon-reactive}"></div>
                    <h3 class='h3 antialiased'>Reactive</h3>
                    <p>Spring's asynchronous, nonblocking architecture means you can get more from your computing resources.</p>
                </a>
                <a href='/cloud' class='card block quarter border-box center border mb-2 rad-5 shadow-hover'>
                    <div class="mw-100" data-th-insert="~{svg/_icons :: icon-cloud}"></div>
                    <h3 class='h3 antialiased'>Cloud</h3>
                    <p>Your code, any cloud&mdash;we’ve got you covered. Connect and scale your services, whatever your platform.</p>
                </a>
                <a href='/web-applications' class='card block quarter border-box center border mb-2 rad-5 shadow-hover'>
                    <div class="mw-100" data-th-insert="~{svg/_icons :: icon-webapps}"></div>
                    <h3 class='h3 antialiased'>Web apps</h3>
                    <p>Frameworks for fast, secure, and responsive web applications connected to any data store.</p>
                </a>
            </div>
            <div class='container cards flex jc-between flex-wrap mw-850'>
                <a href='/serverless' class='card third block quarter border-box center border mb-2 rad-5 shadow-hover'>
                    <div class="mw-100" data-th-insert="~{svg/_icons :: icon-serverless}"></div>
                    <h3 class='h3 antialiased'>Serverless</h3>
                    <p>The ultimate flexibility. Scale up on demand and scale to zero when there’s no demand.</p>
                </a>
                <a href='/event-driven' class='card third block quarter border-box center border mb-2 rad-5 shadow-hover'>
                    <div class="mw-100" data-th-insert="~{svg/_icons :: icon-streams}"></div>
                    <h3 class='h3 antialiased'>Event Driven</h3>
                    <p>Integrate with your enterprise. React to business events. Act on your streaming data in realtime.</p>
                </a>
                <a href='/batch' class='card third block quarter border-box center border mb-2 rad-5 shadow-hover'>
                    <div class="mw-100" data-th-insert="~{svg/_icons :: icon-batch}"></div>
                    <h3 class='h3 antialiased'>Batch</h3>
                    <p>Automated tasks. Offline processing of data at a time to suit you.</p>
                </a>
            </div>
        </section>
        <section class='container mb-5' role="contentinfo" aria-label="What have we here?">
            <div id='whathavewe' class='flex jc-between'>
                <div class='terminal rad-5 border-box'>
                    <code>
                        <span class='terminal-blue'>@SpringBootApplication</span><br>
                        <span class='terminal-blue'>@RestController</span><br>
                        <span class='terminal-green'>public</span> class DemoApplication {<br>
                        <div class='indent'>
                            <br>
                            <span class='terminal-blue'>@GetMapping</span>(<span class='terminal-lime'>&quot;/helloworld&quot;</span>)<br>
                            <span class='terminal-green'>public</span> String hello() {
                            <div class='indent typed-placeholder'>return String.format(<span class='terminal-lime'>"Hello World!"</span>);</div>
                            <div class='indent typed'>
                            </div>
                            }
                        </div>
                        }
                    </code>
                </div>
                <aside class='text'>
                    <h2 class='h2'>Level up your Java™ code</h2>
                    <p>With <a class='blue link-animate' href='/projects/spring-boot'>Spring Boot</a> in your app, just a few lines of code is all you need to start building services like a boss.</p><p>New to Spring? Try our simple <a class='blue link-animate' href='/quickstart'>quickstart guide</a>.</p>
                </aside>
            </div>
        </section>
        <section class='mb-7' role="contentinfo" aria-label="Quote">
            <div class='container'>
                <img class='big-quote' data-th-src="@{/images/quote.svg}" alt='"'>
                <blockquote class='h3 center green antialiased'>
                    Originally [Netflix's Java] libraries and frameworks were built in-house. I'm very proud to say, as of early 2019, we've moved our platform almost entirely over to Spring Boot.”
                </blockquote>
                <div class='flex ai-center jc-center quoted-with-video'>
                    <img class='rad-50' data-th-src="@{/images/wicksell.jpg}" alt='Taylor Wicksell' title="Taylor Wicksell">
                    <div>
                        <span class='quoted antialiased'>Taylor Wicksell, Senior Software Engineer, Netflix</span>
                        <br/>
                        <a class='blue link-animate lightbox' href="https://www.youtube.com/watch?v=mln3_o6qlBo">Watch now</a>
                    </div>
                </div>
            </div>
        </section>
    </div>
</div>
</body>
</html>
